package com.example.store.mapper;

import com.example.store.entity.Cart;
import com.example.store.vo.CartVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface CartMapper {
    /**
     * 插入购物车数据
     * @param cart
     * @return
     */
    Integer insert(Cart cart);
    /**
     * 修改购物车数据中的商品数量
     * @param cid
     * @param num
     * @param modifiedUSer
     * @param modifiedTime
     * @return
     */
    Integer updateNumByCid(
            @Param("cid") Integer cid,
            @Param("num") Integer num,
            @Param("modifiedUser") String modifiedUSer,
            @Param("modifiedTime") Date modifiedTime);

    /**
     * 根据商品id和用户id查询购物车的数据
     * @param uid
     * @param pid
     * @return
     */
    Cart findByUidPid(
            @Param("uid") Integer uid,
            @Param("pid") Integer pid);


    List<CartVO> findVOByUid(Integer uid);

    Cart findByCid(Integer cid);

    /**
     * 根据若干个购物车数据id查询详情的列表
     * @param cids 若干个购物车数据id
     * @return 匹配的购物车数据详情的列表
     */
    List<CartVO> findVOByCids(Integer[] cids);
}


